
#ifndef CHAT_APP_ICE
#define CHAT_APP_ICE

module Chat
{

sequence<string> stringSequence;

exception AccountAlreadyExistsException {};

interface ClientListener{
	void notify(string message);
	void sendMessage(string message);
};

interface ChatManager
{
    void createAccount(string nick) throws AccountAlreadyExistsException;
};

interface ChatRoom
{
    void writeMessage(string message);
    void join(string nick, ClientListener* listener);
    void leave();
    stringSequence getArchivedConversation();
};

};

#endif
